package br.com.moto.web;

import br.com.moto.ejb.ComentarioSessionBean;
import br.com.moto.entity.Comentario;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext; 

@ManagedBean(name = "comentarioController")
@SessionScoped
public class ComentarioMBean {
    
    @EJB
    private ComentarioSessionBean comentarioSessionBean;
    private Comentario comentario = new Comentario();
    private Comentario comentarioSelecionado;
    
    public ComentarioMBean() {
    }
    
    public List comentarioByPost(Integer userId) { 
        return comentarioSessionBean.getComentarioByPost(userId);
    }     
    
    public List getListaComentarios() { 
        return comentarioSessionBean.retrieve();  
    }     
    
    public void adicionarComentario() {
        System.out.println("##adicionarComentario");
        
        comentarioSessionBean.create(comentario);        
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Novo comentario adicionado com sucesso!"));
    }
    
    public void novoComentario() {
        System.out.println("##novoComentario");
        comentario = new Comentario();
    }     
    
    public void carregarComentario() {
        System.out.println("##carregarComentario" + comentarioSelecionado.getId());        
        comentario = comentarioSessionBean.getComentario(comentarioSelecionado);
    }    
    
    public void excluirComentario() {
            comentarioSessionBean.delete(comentarioSelecionado);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Excluído com sucesso!"));
    }    

    public Comentario getComentario() {
        return comentario;
    }

    public void setComentario(Comentario comentario) {
        this.comentario = comentario;
    }

    public Comentario getComentarioSelecionado() {
        return comentarioSelecionado;
    }

    public void setComentarioSelecionado(Comentario comentarioSelecionado) {
        this.comentarioSelecionado = comentarioSelecionado;
    }
}